Method and apparatus transferring data via universal serial bus

ABSTRACT

A method of communicating data between an external storage device and a USB host via a USB device is disclosed. The method includes receiving data from the USB host; and either (1) directly communicating the received data to the external storage device via an exclusive bus, or (2) indirectly communicating the received data to the external storage device via a USB bus, separate from the exclusive bus.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of Korean Patent Application No.10-2009-0051516 filed on Jun. 10, 2009, the subject matter of which ishereby incorporated by reference.

BACKGROUND

The inventive concept relates to a data transmission method andapparatus using a universal serial bus (USB). More particularly, theinventive concept relates to a data transmission method and apparatus inwhich data transmission speed is increased using a USB.

A USB is a hardware component (controlled by a corresponding datacommunication protocol) commonly used to provide a data connectionbetween a so-called “USB host” (e.g., a computer) and a connected “USBdevice” (e.g., a memory stick, disc drive, digital camera, web cam,keyboard, mouse, game pad, joystick, scanner, printer, personal digitalassistant (PDA), etc). Recently, the USB has commercially replaced othertypes of serial and parallel connection components, and ongoing researchis focused on increasing the speed of data exchange via the USB.

SUMMARY

Embodiments of the inventive concept provide methods and apparatusestransferring data via a Universal Serial Bus (USB) at improved speed.

According to an aspect of the inventive concept, there is provided aUniversal Serial Bus (USB) device, comprising; a data transmissioncontroller configured to directly communicate data between a USB hostand an external storage device using an exclusive bus connecting thedata transmission controller and an external storage device controllerassociated with the external storage device, and a USB controllerconfigured to communicate data between the USB host and the externalstorage device using a USB bus, separate from the exclusive bus, andconnecting the USB controller, the external storage device controller, amemory external to the USB device, and a central processing unit (CPU)internal to the USB device.

According to an aspect of the inventive concept, there is provided amethod of communicating data between an external storage device and aUSB host via a USB device, the method comprising; receiving data fromthe USB host; and either (1) directly communicating the received data tothe external storage device via an exclusive bus, or (2) indirectlycommunicating the received data to the external storage device via a USBbus, separate from the exclusive bus.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the inventive concept will be more clearly understoodfrom the following detailed description taken in conjunction with theaccompanying drawings in which:

FIG. 1 is a block diagram illustrating a Universal Serial Bus (USB)device according to an embodiment of the inventive concept;

FIG. 2 is a flowchart summarizing a method of communicating data from aUSB host and storing the data to an external storage device according toan embodiment of the inventive concept; and

FIG. 3 is a flowchart summarizing a method of communicating data storedin an external storage device to a USB host via a USB device accordingto an embodiment of the inventive concept.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Embodiments of the inventive concept will now be described withreference to the attached drawings. However, the inventive concept maybe variously embodied and should not be construed as being limited toonly the illustrated embodiments.

Figure (FIG.) 1 is a block diagram illustrating a universal serial bus(USB) device according to an embodiment of the inventive concept.Referring to FIG. 1, a USB device 110 comprises a data transmissioncontroller 111, a USB controller 112, a memory controller 113, a centralprocessing unit (CPU) 114, and an external storage device controller115, and the external storage device controller 115 includes a flashmemory controller 116 and a memory card controller 117.

The data transmission controller 111 is connected to an interface (notshown) of an external USB host 120. When storing data received from theUSB host 120 in an external storage device 140, the data transmissioncontroller 111 communicates data from the USB host 120 via theinterface.

An exclusive line (or “exclusion bus”) 118 connected between the datatransmission controller 111 and the external storage device controller115 is included in the USB device 110. That is, the exclusive bus 118 is“exclusively connected” between the external storage device controller115 and the data transmission controller 111 without also beingconnected to the CPU 114 and memory controller 113. When the datatransmission controller 111 communicates data, the data may be directlyand exclusively communicated to the external storage device controller115 without passing through (or otherwise being applied) to the memorycontroller 113 or corresponding memory 130 before being transferred tothe external storage device controller 115. In other words, the data maybe “directly communicated” from the data transmission control 111exclusively to the external storage device controller 115 via theexclusive bus.

When storing the data received from the USB host 120 in the externalstorage device 140, the USB device 110 stores data using managementroutine of a constituent file system which may be part of an operatingsystem (OS) ported to the CPU 114. The file system may be used to store,search, access, and/or manipulate data, and is designed such that datais stored in an external storage device. Examples of possible filesystem types that might be used in this context include a fileallocation table (FAT) and a new technology file system (NTFS).Currently, a FAT is used in most mobile electronic devices.

According to an embodiment of the inventive concept, in order for thedata transmission controller 111 to transmit data directly to theexternal storage device controller 115 without passing through the CPU114 via the USB device 110, the data transmission controller 111 mustalso be able to control the file system. Accordingly, an operatingsystem including a file system may be additionally ported to the datatransmission controller 111. In certain embodiments of the inventiveconcept, the operating system only needs to include the file system.Also, the data transmission controller 111 only needs to control thefile system. The logic for controlling the file system may be realizedas a hard-wired logic or using another CPU different from the CPU 114for controlling only the file system.

The external storage device controller 115 controls the storage of datacommunicated from the data transmission controller 111 in the externalstorage device 140. The external storage device 140 may be, for example,a memory card 141 and a flash memory 142, but may be any type ofexternal storage device capable of receiving data via the USB.

Alternatively, data may be stored in the external storage device 140using methods other than the above-described approach.

In contrast to the exclusive bus 118, a USB bus 119 connects the USBcontroller 112, the memory controller 113, the CPU 114, and the externalstorage device controller 115.

The USB controller 112 is connected to the interface of the USB host 120that is external to the USB device 110. When storing data from the USBhost 120 in the external storage 140, the USB controller 112 firstreceives the data from the USB host 120 via this interface. Data may bereceived by the USB controller 112 from the data transmission controller111 and the USB host 120 at the same time. Alternatively, the datatransmission controller 111 may be included in the USB controller 112,or the data transmission controller 111 and the USB controller 112 maybe connected to each other.

The memory controller 113 receives data from the USB controller 112 andstores the data in the memory 130. For example, the memory 130 may be adynamic random access memory (DRAM).

After reading data stored in the memory 130, the CPU 114 communicatesthe data to the external storage device controller 115. An operatingsystem is ported to the CPU 114 to control the USB device 110, and afile system for controlling data storage is included as part of theoperating system.

The external storage device controller 115 stores the data communicatedfrom the memory controller 113 in the external storage device 140. Inthis case, the external storage device controller 115 may directlyreceive data from the data transmission controller 111 or receive datastored in the memory 130 from the memory controller 113. In this case,the external storage device controller 115 may selectively store data inthe external storage device 140. Preferably, storage priority may begiven when data is directly received from the data transmissioncontroller 111. In this case, the external storage device controller 115stores the data directly received from the data transmission controller111, in the external storage device 140.

FIG. 2 is a flowchart summarizing a method of communicating and storingdata in an external storage device by using a USB device according to anembodiment of the inventive concept.

Data received from the USB host 120 via the USB device 110 may be storedin the external storage device 140 using two different approaches. Oneapproach includes the illustrated operations 210 and 220, and the otherapproach includes the illustrated operations 210, 230, and 240.

Referring to FIG. 2, both approaches begin with the USB device 110receiving data from the USB host 120 (210).

Following the first approach, the USB device 110 directly storesreceived data in the external storage device 140 without having the datapass through the CPU 114 (220). Using this approach, the received datais not stored in (and does not pass through) memory 130 connected to theUSB device 110 before being communicated to the external storage device140.

Alternately, following receipt by the USB device 110 of data from theUSB host 120 (210), the USB device 110 may store the received data inthe memory 130 connected to the USB device 110 (230). Then, the USBdevice 110 may communicate the data stored in the memory 130 to theexternal storage device 140 via the CPU 114. This second approach may bethought of as indirectly storing the received data in the externalstorage device 140 via the memory 130 and CPU 114. A USB deviceaccording to an embodiment of the inventive concept may selectively useeither one of these two approaches (direct and indirect) to communicateand store data. Preferably, priority will be given to the directapproach of storing data without passing the data through the memory andthe CPU.

Hereinafter, an apparatus and method for communicating data stored inthe external storage memory to the USB host 120 via the USB device 110will be described. Here again, the USB device 110 is assumed to have thestructure illustrated in FIG. 1.

FIG. 3 is a flowchart summarizing a method of communicating data storedin an external storage device to a USB host using a USB device accordingto an embodiment of the inventive concept.

Similar to the foregoing, data stored in the external storage device 140may be communicated to the USB host via the USB device using twodistinct approaches. One approach includes operations 310 and 320, andthe other approach includes operations 310, 330, and 340.

Referring to FIG. 3, the USB device 110 first receives data from theexternal storage device 140.

Following the first approach, the USB device 110 directly communicatesthe received data to the USB host (320), without the data passingthrough the memory 130 or the CPU 114.

Following the second approach, the CPU 114 that operates in the USBdevice 110 to first communicate data stored in the external storagedevice 140 to the memory connected to the USB device (330), and thenfurther communicates the data from the memory 130 to the USB host 120via the CPU 114.

The USB device 110 may selectively use either one of these two (directand indirect) methods for communicating data from the external storagedevice 140 to the USB host 120. Preferably, priority will be given tothe direct approach, such that data need not pass through the memory 130and CPU 114.

While this inventive concept has been particularly shown and describedwith reference to exemplary embodiments thereof, it will be understoodby those of ordinary skill in the art that various changes in form anddetails may be made therein without departing from the scope of theinventive concept as defined by the appended claims. The exemplaryembodiments should be considered in descriptive sense only and not forpurposes of limitation. Therefore, the scope of the inventive concept isnot limited to only the detailed description of the inventive concept,but by the appended claims.

1. A Universal Serial Bus (USB) device, comprising: a data transmissioncontroller configured to directly communicate data between a USB hostand an external storage device using an exclusive bus connecting thedata transmission controller and an external storage device controllerassociated with the external storage device; and a USB controllerconfigured to communicate data between the USB host and the externalstorage device using a USB bus, separate from the exclusive bus, andconnecting the USB controller, the external storage device controller, amemory external to the USB device, and a central processing unit (CPU)internal to the USB device.
 2. The USB device of claim 1, wherein CPU isconfigured to indirectly communicate the data between the USB host andthe external storage device using USB bus by first communicating thedata from the USB host to the memory and then communicating the datafrom the memory to the external storage device.
 3. The USB device ofclaim 2, wherein the USB device is configured to select between directcommunication of the data via the exclusive bus and indirectcommunication of the data via the USB bus.
 4. The USB device of claim 3,wherein the selection between the direct communication and the indirectcommunication gives priority to the direct communication.
 5. The USBdevice of claim 3, wherein the data transmission controller and the USBcontroller are commonly provided by a USB controller.
 6. The USB deviceof claim 1, wherein the memory is a random access memory.
 7. The USBdevice of claim 1, wherein the external storage device comprises atleast one of a flash memory device and a memory card.
 8. The USB deviceof claim 7, wherein the external storage device comprises a flash memorydevice and a memory card, and the external storage device controllercomprises a flash memory controller and a memory card controller.
 9. TheUSB device of claim 8, wherein each one of the flash memory controllerand the memory card controller is separately connected to the exclusivebus and the USB bus.
 10. A method of communicating data between anexternal storage device and a USB host via a USB device, the methodcomprising: receiving data from the USB host; and either (1) directlycommunicating the received data to the external storage device via anexclusive bus, or (2) indirectly communicating the received data to theexternal storage device via a USB bus, separate from the exclusive bus.11. The method of claim 10, wherein indirectly communicating thereceived data to the external storage device via a USB bus comprisesfirst communicating the data from the USB host to a memory and thencommunicating the data from the memory to the external storage device.12. The method of claim 11, wherein either the direct or indirectcommunication is selected by the USB device with priority being given toselection of the direct communication.